function xs_test()
    GetPlayer().components.builder:GiveAllRecipes()

    local minimap = TheSim:FindFirstEntityWithTag("minimap")
    minimap.MiniMap:ShowArea(0, 0, 0, 3124)
end

function xs_test1()
    local file = io.open("../custom_logs/xs_log_info.log", "w")

    local inst = TheInput:GetWorldEntityUnderMouse()
    --local inst = GetWorld()

    file:write("DeBug信息: \n----------------------------------\n")
    file:write(inst.entity:GetDebugString())
    file:write("----------------------------------\n")

    file:write("\n\n============== Dumping entity ==============\n")

    for name, value in pairs(inst) do
        if type(value) == "function" then
            local info = debug.getinfo(value, "LnS")
            file:write(string.format("   %s = function - %s\n", name, info.source .. ":" .. tostring(info.linedefined)))
        else
            if value and type(value) == "table" and value.IsValid and type(value.IsValid) == "function" then
                file:write(string.format("   %s = %s\n", name, tostring(value)))
            else
                file:write(string.format("%s = %s\n", name, tostring(value)))
            end
        end
    end

    for component_name, comp in pairs(inst.components) do
        file:write("\n\n============== Dumping component " .. component_name .. " ==============\n")
        for name, value in pairs(comp) do
            if type(value) == "function" then
                local info = debug.getinfo(value, "LnS")
                file:write(string.format("%s = function - %s\n", name,
                    info.source .. ":" .. tostring(info.linedefined)))
            else
                if value and type(value) == "table" and value.IsValid and type(value.IsValid) == "function" then
                    file:write(string.format("%s = %s\n", name, tostring(value)))
                else
                    file:write(string.format("%s = %s\n", name, tostring(value)))
                end
            end
        end
    end

    file:close()
end

function xs_test2()
    local player = GetPlayer()
    print("\n第一天: ", player.fuck_day)
    print("\n重铸器概率: ", player.recasting_machine_active_odds)
    print("\n银行利率: ", player.bank_interest_rate)
end

function xs_test3(value)
    for prefab, _ in pairs(TX_MulticolorEquipments) do
        XS:DropScatter(GetPlayer(), prefab)
    end
end

function xs_test4()
    local file = io.open("../custom_logs/xs_log_info.log", "w")
    --for k, v in pairs(DYCInfoPanel) do
    --    file:write(k .. "\n\t\t" .. type(v) .. "\n")
    --end

    local guis = DYCInfoPanel.guis

    for k, v in pairs(guis.ObjectDetailWindow) do
        file:write(k .. "\n\t\t" .. type(v) .. "\n")
    end

    --for k, v in pairs(guis.MultiLineText.lines) do
    --    file:write(k .. "\n\t\t" .. type(v) .. "\n")
    --end

    file:close()
end

function xs_test5()
    local player = GetPlayer()
    if player.components.playercontroller then

        --print("鼠标物品", player.components.playercontroller:GetCursorInventoryObject())
    end
end
